Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

255
Visualizações
Combine el setter de propiedades "init y private" (C#9)

Pregunto sobre la nueva característica de C#9 "establecedor de propiedades de inicio". A continuación un ejemplo de ello:

 public class MyClass { public int Id { get; init; } public int Name { get; init; } public int Position { get; init; } }

Mi pregunta es cómo puedo actualizar el valor de 'Posición' después de inicializar. Quiero algo como esto:

 public class MyClass { public int Id { get; init; } public int Name { get; init; } public int Position { get; init + private set; } public void MoveMyClass(int newPositionIndex) { // Some business code... Position = newPositionIndex; } }

En mi proyecto del mundo real, el marco de la entidad inicializa una instancia de MyClass . Luego llamo a algunos métodos de negocios en él. La regla es que solo los métodos comerciales pueden establecer valores en las propiedades, por lo que quiero al menos setters privados. Pero si tengo configuradores privados, el marco de la entidad no puede inicializar las propiedades.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Parece que esta función no está disponible para propiedades automáticas en C#9.

Para resolver este problema, combino init con el estilo de propiedad completo (en lugar de propiedad automática). Maybee C#10 o posterior admitiría dicho modificador de acceso.

 public class MyClass { private int _position; public int Id { get; init; } public int Name { get; init; } public int Position { get => _position; init => _position = value; } public void MoveMyClass(int newPositionIndex) { // Some business code... _position = newPositionIndex; } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda